package cn.tedu.bonfire.admin.account.dao.persist.repository;


import cn.tedu.bonfire.admin.account.pojo.entity.User;
import cn.tedu.bonfire.admin.account.pojo.vo.UserManagementVO;
import cn.tedu.bonfire.common.pojo.po.UserAdminSearchPO;
import cn.tedu.bonfire.common.pojo.vo.PageData;

public interface IUserRepository {

    /**
     * 添加用户
     * @param user
     * @return
     */
    int insert(User user);

    /**
     *
     * @param
     * @return
     */
    int deleteByUserId(Long userId,Integer enable);

    /*
    * 根据用户名统计用户数量
    * */
   Long countByUserName (String username);

   Long countByPhone(String phone);

    /**
     * 修改昵称
     * @param
     * @return
     */
    int updateNicknameByUserId(Long userId,String nickname);

    /**
     * 根据用户ID修改用户的数据
     *
     * @param user 封装了用户id和新的数据的对象
     * @return 受影响的行数
     */
    
    
    /**
     * 修改头像
     */
    int updateAvatarByUserId(Long userId,String avatar);


    /**
     * 分页查询用户
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageData<UserManagementVO> list(Integer pageNum, Integer pageSize);


    int updateById(User user);

    PageData<UserAdminSearchPO> listSearchByUser(Integer pageNum, Integer pageSize);
}